#ifndef CITY_SEARCH_HANDLER_H
#define CITY_SEARCH_HANDLER_H

#include <QObject>
#include <QLineEdit>  // 替换 QLabel 为 QLineEdit
#include <QLabel>
#include <QString>
#include <QTimer>


class city_search_handler : public QObject
{
    Q_OBJECT
public:
    // 构造函数接收已有的标签控件
      explicit city_search_handler(QLineEdit *inputEdit, QLabel *resultLabel, QLabel *searchLabel, QObject *parent = nullptr);
     
     // 获取当前选中城市的ID
     QString getCityId() const { return m_cityId; }
     
     // 获取当前选中城市的名称
     QString getCityName() const { return m_cityName; }
 
 private slots:
     // 搜索按钮点击事件处理
     void onSearchClicked();
     
     void onTextChanged(const QString &text);  // 文本变化处理

 
 private:
    bool eventFilter(QObject *obj, QEvent *event);
     // 搜索城市信息
     bool searchCity(const QString &cityName);
     
      QLineEdit *m_inputEdit;  // 替换为 QLineEdit
     QLabel *m_resultLabel;   // 结果显示标签（已存在的label2）
     QLabel *m_searchLabel;   // 搜索标志标签（已存在的label3）
     
     QString m_cityId;        // 保存城市ID
     QString m_cityName;      // 保存城市名称
      QTimer *m_searchTimer;   // 延迟搜索定时器
    
signals:
      // 新增信号：搜索完成时发射
         void searchCompleted();
      
    
};

#endif // CITY_SEARCH_HANDLER_H
